動畫是 APP UI 中常見的應用效果。xCode 中的 UIKit 跟 Core Animation 都可以支援動畫操作。
在 UIKit 裏頭, 可以添加動畫的 UIView 屬性有: frame, bounds, center, transform, alpha, backgroundColor, centerStretch。
frame: 可以根據這個 view 相對於其 superView,去改變它的大小及位置。
bounds:直接改動這個 view 的大小。
center: 依據這個 view 的 superView 來改變其相對位置。
transform: 改變 view 的比例,旋轉角度。
alpha: 逐漸改變這個 view 的透明度。
backgroundColor: 改變背景色。
centerStretch: 從中心點延伸填滿可能的空間。
以下就是基本的改變位置的動畫方式:
首先,拉出一個方塊 aView。
let aView = UIView()
view.addSubview(aView)
aView.backgroundColor = UIColor.darkGray
aView.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
UIView.animate(withDuration: 3, animations: {
aView.frame = CGRect(x: self.view.frame.maxX,
y: self.view.frame.maxY,
width: 0, height: 0)
})